<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // then方法可以接受两个回调函数作为参数。
        // 第一个回调函数是Promise对象的状态变为resolved时调用，第二个回调函数是Promise对象的状态变为rejected时调用。
        // 这两个函数都是可选的， 不一定要提供。 它们都接受Promise对象传出的值作为参数。
        // function timeout(ms) {
        //     return new Promise((resolve, reject) => {
        //         setTimeout(resolve, ms, 'done');
        //     });
        // }

        // timeout(100).then((value) => {
        //     console.log(value);
        // });
        //----------------------------
        // 下面代码中，Promise 新建后立即执行，所以首先输出的是Promise。
        // 然后，then方法指定的回调函数，将在当前脚本所有同步任务执行完才会执行，
        // 所以resolved最后输出。
        // let promise = new Promise(function(resolve, reject) {
        //     console.log('Promise');
        //     resolve()
        // });

        // promise.then(function() {
        //     console.log('resolved');
        // })

        // console.log('你好!');
        // ------------------------------------------

        //--------------------------------------------
    </script>
</body>

</html>